/*
题目：2025
--------------------------
小A有一个整数x，他想找到最小的正整数i，使得：
    (x & i) + (x | i) == 2025
其中 & 表示按位与运算，| 表示按位或运算。
如果不存在满足条件的i，则输出-1。

输入格式：
一行，一个整数x。

输出格式：
一行，一个整数，若满足条件的i存在则输出i，否则输出-1。

数据范围：
1 <= x <= 2025

题目简要说明：
给定一个整数x，要求找到最小的正整数i（1≤i≤2025），使得x和i的按位与加上按位或等于2025，否则输出-1。

解题思路：
1. 枚举i从1到2025，依次判断是否满足 (x & i) + (x | i) == 2025。
2. 对于每个i，计算x & i和x | i的值并相加。
3. 如果找到第一个满足条件的i，立即输出并结束程序。
4. 如果循环结束都没有找到，输出-1。
*/

#include <cstdio>
using namespace std;

int main() {
    int x;
    scanf("%d", &x);
    // 枚举所有可能的i
    for (int i = 1; i <= 2025; i++) {
        // 判断是否满足条件
        if ((x & i) + (x | i) == 2025) {
            printf("%d\n", i); // 输出最小的i
            return 0;
        }
    }
    printf("-1\n"); // 没有找到，输出-1
    return 0;
}